package com.qualysys.usuario;

import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.RowEditEvent;

@ManagedBean(name="usuarioBean")
@RequestScoped
public class UsuarioBean  {
      private Usuario usuarioSelecionado = new Usuario();
      
      private List<Usuario> lista = null;
      private List<Usuario> filtrado;
      
      
      
      
      public void salvar(){
    	  UsuarioRN usuarioRN = new UsuarioRN();
    	  usuarioSelecionado.setData_c(new Date());
          usuarioRN.salvar(usuarioSelecionado);
          FacesMessage faces = new FacesMessage("Usuario Cadastrado com Sucesso!");
          FacesContext contexto = FacesContext.getCurrentInstance();
          contexto.addMessage(null, faces);
			
		
    	  
    	  
    	  this.lista = null;
    	  
    	  
      }
      public void excluir(){
    	  UsuarioRN usuarioRN = new UsuarioRN();
    	  usuarioRN.excluir(this.usuarioSelecionado);
    	  this.lista = null;
      }

	public Usuario getUsuarioSelecionado() {
		return usuarioSelecionado;
	}

	public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
		this.usuarioSelecionado = usuarioSelecionado;
	}

	public List<Usuario> getLista() {
		
		if(lista == null){
			UsuarioRN usuarioRN = new UsuarioRN();
			lista = usuarioRN.listar();
		}
		return lista;
	}
	public void onEdit(RowEditEvent event) {  
       
		FacesMessage msg = new FacesMessage("Usuario Editado", ((Usuario) event.getObject()).getNome());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
      
    public void onCancel(RowEditEvent event) {  
        FacesMessage msg = new FacesMessage("Usuario Cancelado", ((Usuario) event.getObject()).getNome());  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }

	public List<Usuario> getFiltrado() {
		return filtrado;
	}

	public void setFiltrado(List<Usuario> filtrado) {
		this.filtrado = filtrado;
	}
}
